package com.ktwlsoft.archivemanage.payload.businessInspectTem;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

/**
 * 指导模板题目更新
 *
 * @author zhuhe on 2019/11/6 17:44
 * @version 1.0
 */
@ApiModel("指导模板题目更新")
@Getter
@Setter
public class InspectTemSubjectUpdateRequest {

    /**主键*/
    @ApiModelProperty("主键")
    private Long id;

    /**项目名称**/
    @ApiModelProperty("项目名称")
    @NotNull(message = "项目名称不能为空")
    private String title;

    /**副标题**/
    @ApiModelProperty("副标题")
    private String subTitle;

    /**评分标准/描述(此项用来保存自定义题目的评分标准)**/
    @ApiModelProperty("评分标准/描述(此项用来保存自定义题目的评分标准)")
    private String description;

    /**单项总分**/
    @ApiModelProperty("单项总分")
    @NotNull(message = "单项总分不能为空")
    private BigDecimal mark;

    /**默认得分**/
    @ApiModelProperty("默认得分")
    @NotNull(message = "默认得分不能为空")
    private BigDecimal defaultMark;

    /**检查拍照(1.开启,0关闭)**/
    @ApiModelProperty("检查拍照(1.开启,0关闭)")
    @NotNull(message = "是否检查拍照不能为空")
    private Integer hasImgs;

    /**备注(1.开启,0关闭)**/
    @ApiModelProperty("备注(1.开启,0关闭)")
    @NotNull(message = "是否备注不能为空")
    private Integer hasRemark;

    /**必填(1.开启,0关闭)**/
    @ApiModelProperty("必填(1.开启,0关闭)")
    @NotNull(message = "是否必填不能为空")
    private Integer must;

    /**分组名**/
    @ApiModelProperty("分组名")
    @NotNull(message = "分组名不能为空")
    @Size(max = 30,message = "分组名超长")
    private String group;

    /**排序**/
    @ApiModelProperty("排序")
    private Integer sort;

    /**是否多选(1.是,0.否)**/
    @ApiModelProperty("是否多选(1.是,0.否)")
    @NotNull(message = "是否多选不能为空")
    private Integer multiOption;

    /**加分或减分(1.加分,0.减分)**/
    @ApiModelProperty("加分或减分(1.加分,0.减分)")
    @NotNull(message = "加分或减分不能为空")
    private Integer additonOrSubstraction;

    /**是否自定义(1.是,0.否)**/
    @ApiModelProperty("是否自定义(1.是,0.否)")
    private Integer isCustom;

    /**操作类型:1.新增,2.修改,3.删除**/
    @ApiModelProperty("操作类型:1.新增,2.修改,3.删除")
    @NotNull(message = "操作类型不能为空")
    private Integer type;

    /**检查方式*/
    @ApiModelProperty("检查方式")
    private String inspectWay;

    /**检查要求*/
    @ApiModelProperty("检查要求")
    private String inspectAsk;

    /**是否满足:reach(满足),not_reach(不满足)*/
    @ApiModelProperty("是否满足:reach(满足),not_reach(不满足)")
    private String reach;

    /**印证材料档号*/
    @ApiModelProperty("印证材料档号")
    private String confirmMaterialReference;

    /**不满足说明*/
    @ApiModelProperty("不满足说明")
    private String failIllustrate;

    /**指导模板题目选项**/
    @ApiModelProperty("指导模板题目选项")
    @Valid
    @NotNull(message = "指导模板题目选项不能为空")
    private List<InspectTemSubjectItemUpdateRequest> itemList;
}